package com.lotus.lqmp.service.biz;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lotus.lqmp.base.biz.bean.PageQuery;
import com.lotus.lqmp.service.controller.vo.req.ReviewPlanAddReq;
import com.lotus.lqmp.service.controller.vo.req.ReviewPlanQueryReq;
import com.lotus.lqmp.service.controller.vo.req.ReviewPlanUpdateReq;
import com.lotus.lqmp.service.controller.vo.resp.ReviewPlanDeletedQueryResp;
import com.lotus.lqmp.service.controller.vo.resp.ReviewPlanQueryResp;

import java.util.List;

/**
 * description
 * @author Shuang.Pan2
 * @since 2022/03/31 13:12
 */
public interface ReviewPlanBizService {

    /**
     * 交付物模板分页查询
     * @param queryInfo
     * @return
     */
    Page<ReviewPlanQueryResp> queryForPage(PageQuery<ReviewPlanQueryReq> queryInfo);

    /**
     * 评审计划新增
     * @param reviewPlanAddReq 评审计划信息新增
     */
    void add(ReviewPlanAddReq reviewPlanAddReq);

    /**
     * 评审计划更新
     * @param reviewPlanUpdateReq
     */
    void update(ReviewPlanUpdateReq reviewPlanUpdateReq);

    /**
     * 批量删除评审计划
     * @param ids
     */
    void batchDeleteByIds(List<Long> ids);

    /**
     * 已删除得评审计划分页查询
     * @param queryInfo
     * @return
     */
    Page<ReviewPlanDeletedQueryResp> queryDeletedForPage(PageQuery<ReviewPlanQueryReq> queryInfo);

    /**
     * 批量还原删除的评审计划
     * @param ids
     */
    void batchRestore(List<Long> ids);

    /**
     * 删除评审计划全部清空
     */
    void clearAll();
}
